/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model.Construction;

import Model.Ville;

/**
 *
 * @author light
 */
public abstract class Travailleur extends Batiment {

    protected int travailleurMax;
    protected int travailleur;

    public Travailleur(int tx, int ty, Ville v, int prix) {
        super(tx, ty, v, prix);
    }

    @Override
    public void ajoutAVille(int x, int y) {
        super.ajoutAVille(x, y);
        ville.addBatimentTravailleur(this);
    }

    public int getTravailleur() {
        return travailleur;
    }

    public int getTravailleurMax() {
        return travailleurMax;
    }

    @Override
    public String getInfo() {
        String s1 = super.getInfo();
        String s2 = travailleur + "/" + travailleurMax + " travailleurs\n";
        return (s1 + s2);
    }

    @Override
    public void payerImpot() {
        double tmp = (double)impot * travailleur / travailleurMax;
        ville.addArgent((int) tmp);
    }

    @Override
    public void destruction() {
        super.destruction();
        ville.removeBatimentTravailleur(this);
        ville.removeTravailleur(travailleur);
    }

    public void addTravailleur(int a) {
        travailleur += a;
        ville.addTravailleur(a);
    }

    public void removeTravailleur(int a) {
        travailleur -= a;
        ville.removeTravailleur(a);
    }
}
